home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1997 May / PC Plus Super CD Issue 127 (May 1997).iso / delphi1 / lesson4 / todo1 / todo1.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-02-22  |  2.7 KB  |  119 lines

  1. unit Todo1;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Menus;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     InputLine: TEdit;
  12.     ToDoList: TListBox;
  13.     AddBtn: TButton;
  14.     DelBtn: TButton;
  15.     ClearBtn: TButton;
  16.     MainMenu1: TMainMenu;
  17.     File1: TMenuItem;
  18.     Save1: TMenuItem;
  19.     SaveAs1: TMenuItem;
  20.     Open1: TMenuItem;
  21.     Exit1: TMenuItem;
  22.     OpenDialog1: TOpenDialog;
  23.     SaveDialog1: TSaveDialog;
  24.     procedure AddBtnClick(Sender: TObject);
  25.     procedure DelBtnClick(Sender: TObject);
  26.     procedure ClearBtnClick(Sender: TObject);
  27.     procedure Exit1Click(Sender: TObject);
  28.     procedure Save1Click(Sender: TObject);
  29.     procedure SaveAs1Click(Sender: TObject);
  30.     procedure Open1Click(Sender: TObject);
  31.   private
  32.     { Private declarations }
  33.   public
  34.     { Public declarations }
  35.   end;
  36.  
  37. var
  38.   Form1: TForm1;
  39.  
  40. implementation
  41.  
  42. {$R *.DFM}
  43.  
  44. function ConfirmFileSave(FileName : string) : boolean;
  45. begin
  46.     if MessageDlg(FileName + ' already exists. Save anyway?',
  47.                         mtConfirmation, mbYesNoCancel, 0)
  48.                         = mrYes then
  49.       ConfirmFileSave := true
  50.     else
  51.       ConfirmFileSave := false;
  52. end;
  53.  
  54.  
  55. procedure TForm1.AddBtnClick(Sender: TObject);
  56. begin
  57.    ToDoList.Items.Add(InputLine.Text);
  58. end;
  59.  
  60. procedure TForm1.DelBtnClick(Sender: TObject);
  61. begin
  62.   if ToDoList.ItemIndex >= 0 then
  63.      ToDoList.Items.Delete(ToDoList.ItemIndex);
  64. end;
  65.  
  66. procedure TForm1.ClearBtnClick(Sender: TObject);
  67. begin
  68.   ToDoList.Clear;
  69. end;
  70.  
  71. procedure TForm1.Exit1Click(Sender: TObject);
  72. begin
  73.   Close;
  74. end;
  75.  
  76. procedure TForm1.Save1Click(Sender: TObject);
  77. begin
  78.     if (OpenDialog1.Filename <> '')
  79.      and (OpenDialog1.Filename <> '*.*') then
  80.   begin
  81.     ToDoList.Items.SaveToFile(OpenDialog1.Filename);
  82.   end
  83.   else SaveAs1Click(Sender);
  84. end;
  85.  
  86. procedure TForm1.SaveAs1Click(Sender: TObject);
  87. var
  88.    SaveFile : boolean;
  89. begin
  90.    SaveFile := true;
  91.    with SaveDialog1 do
  92.     if Execute then
  93.     begin
  94.       if FileExists(FileName) then
  95.          SaveFile := ConfirmFileSave(FileName);
  96.       If SaveFile then
  97.       begin
  98.          ToDoList.Items.SaveToFile(Filename);
  99.          OpenDialog1.Filename := Filename;
  100.       end;
  101.     end;
  102. end;
  103.  
  104. procedure TForm1.Open1Click(Sender: TObject);
  105. begin
  106.   with OpenDialog1 do
  107.     if Execute then
  108.     begin
  109.       if FileExists(FileName) Then
  110.           ToDoList.Items.LoadFromFile(FileName)
  111.       else
  112.         MessageDlg('Sorry. Can''t load this file. '+ FileName +
  113.                            ' does not exist!',
  114.                         mtInformation, [mbOK], 0);
  115.     end;
  116. end;
  117.  
  118. end.
  119.